import React from 'react';
import ReactDOM from 'react-dom';
import {Provider,connect} from 'react-redux'
import store from './store/index'
console.log(store.getState())// getState  dispatch  subscribe
store.subscribe(()=>{
  // 相当于就是向一个事件池中添加 事件； 事件池中的事件 会在数据更新完成之后触发
  console.log(666)
})
store.subscribe(()=>{
  // 相当于就是向一个事件池中添加 事件； 事件池中的事件 会在数据更新完成之后触发
  console.log(888)
})
class App extends React.Component {
    constructor() {
        super();
        
    }
    add = ()=>{
      store.dispatch({type:'add',num:10})
      store.dispatch({type:'color',col:'blue'})
      console.log(store.getState())
      // this.setState({})
    }
    minus= ()=>{
      store.dispatch((dispatch)=>{
        setTimeout(() => {
          dispatch({type:'minus',num:5})
          
        }, 1000);
      })
      // this.setState({})
    }
    componentDidMount(){
      this.qqq = store.subscribe(()=>{
        this.setState({})
      })
      // this.qqq()
      console.log(this.qqq)
    }
    componentWillUnmount(){
      // this.qqq();
    }
    render() {
      let obj = store.getState();
        return <div className='' style={{color:obj.colorReducer.color}}>
            <h1>{obj.countReducer.count}</h1>
            <button onClick={this.add}>+</button>
            <button onClick={this.minus}>-</button>
        </div>;
    }
}

ReactDOM.render(<App/>,document.getElementById('root'))